In network testing, to run traffic from host A to host B, it is necessary to find a route to host B. If the host B is identified by Internet protocol (IP), the standard network devices (e.g., routers, switches) handle the problem of finding a route to host B. But using IP addresses to identify hosts in tests creates dependency on the network configuration so using a name to identify the host is preferred. The host B name can usually be a hostname, domain name or fully qualified domain name so resolving of host B name is needed on host A.
Conventional solutions for resolving a host B name, is for the requesting entity or host A to query a domain name system (DNS) server to resolve domain name of host B hosted in enterprise, public, or semi-public networks. However, querying a DNS server may result in difficulties. In particular, besides the fact that DNS infrastructure is not always set on all machines in all environments, in a cloud-based network, for example, the hostname is different from fully qualified domain name assigned by the cloud infrastructure and external tools are needed first to get the fully qualified domain name. Additionally, if the host B is in private space, it may not even be possible to detect it from host A because it is not necessary that a domain name of host B be published by a local DNS server.
As a result, a need exists for methods, systems, and computer readable media for facilitating the resolving of endpoint hostnames in test environments with firewalls, network address translators (NATs), or clouds, which works in all the environments independent of a DNS infrastructure and which allows running tests between hosts, regardless of whether they are located in cloud, public, or enterprise networks.